SDEF

/*SINED Monster_SmallGoliath (1 .5 0) (0 0 0) (0 0 0)
Da almost as big as da Big Goliath kind of Goliath
*/
//

// --------------------------------------------------------------------------------------
// FILE DECLARATIONS
//
// Model Commands
path models/goliath
scale 1.0

// Base Model
goliath_base2.sbm

// Skins
normal		goliath_15a.tga
damage		goliath_damage_15a.tga

// Normal Animations
idle			stand.sam
alert			idle.sam
melee1		attack_backhand.sam
melee2		attack_clap.sam
melee3		attack_slap.sam
melee4		attack_smash.sam
//attack_turn_left	attack_turn_left.sam

run			run.sam	
walk			walk.sam
//run_carry		run_carry.sam
//walk_carry		walk_carry.sam

// Pain Location Based Animations
pain1			pain_normal.sam
pain2			pain_front.sam
pain_torso1		pain_front.sam		
//pain_torso2		pain_back.sam		
pain_head		pain_head.sam		
pain_arm_left_upper	pain_left_arm.sam	
pain_arm_left_lower	pain_left_arm.sam	
pain_leg_left_upper	pain_left_leg.sam	
pain_leg_left_lower	pain_left_leg.sam	
pain_arm_right_upper	pain_right_arm.sam	
pain_arm_right_lower	pain_right_arm.sam	
pain_leg_right_upper	pain_right_leg.sam
pain_leg_right_lower	pain_right_leg.sam

// Death Location Based Animations
death1		death_a.sam		
death2		death_b.sam	

// Crouching Pain Location Based Animations
// Crouching Death Location Based Animations

// Optional Animations
//pipe_slap		pipe_slap.sam
//pipe_smash		pipe_smash.sam
//hurl_boulder	hurl_boulder.sam
//hurl_boulder_down	hurl_boulder_down.sam
//hurl_rock		hurl_rock.sam

//pull			pull_pipe.sam
//pickup		pick_up.sam

//smash1		jump_smash.sam
//smash2		punch_ground.sam	
//smash3		punch_ground_b.sam

// Scripted Animations
angry			angry.sam	
	
//Animations not used at present
//aaa_pipe_calibration	pull_pipe.sam
//pull_panel		pull.sam

// crate throwing animations
throw_aim		walk_carry.sam
throw			hurl_boulder.sam
pickup		pick_up_high.sam // still here just in case
pickup_high		pick_up_high.sam
pickup_low		pick_up_low.sam

// rumble attack
rumble		jump_smash.sam

// destroy object animations
destobj1		attack_clap.sam
destobj2		attack_smash.sam

// Id And Group Definitions
id   5 group head flesh
group head damage 2.0
id  12 group torso flesh
group torso damage 1.0
id  45 group leg_left_upper fabric
group leg_left_upper damage 0.7
id  50 group leg_left_lower flesh
group leg_left_lower damage 0.5
id  65 group leg_right_upper fabric
group leg_right_upper damage 0.7
id  70 group leg_right_lower flesh
group leg_right_lower damage 0.5
id  85 group arm_left_upper flesh
group arm_left_upper damage 0.7
id  90 group arm_left_lower flesh
group arm_left_lower damage 0.5
id 105 group arm_right_upper flesh
group arm_right_upper damage 0.7
id 110 group arm_right_lower flesh
group arm_right_lower damage 0.5
id 200 group arm_right_lower bone gun 180 0 0 2015attach flesh
id 201 group arm_left_lower bone leftgun 180 0 0 2015attach flesh

//------------------------------------------------------

!init:
//
// SERVER Initialization Commands
//
// Class Setup
server classname goliath
server script global/smallgoliath.scr
//server setsize "-32 -32 0" "32 32 200"
//server crouchsize "-32 -32 0" "32 32 200"
server setsize "-32 -32 0" "32 32 200"
server crouchsize "-32 -32 0" "32 32 200"
server mass 2000
server health 3000
server painthreshold 50
server ifskill 0 painthreshold 30
server meleerange 350
server meleedamage 40
server meleeforce 400
server flags -die_gibs

// Sound Aliases
//server aliascache  snd_attacktaunt1    "monsters/goliath/attack1.wav" 1
//server aliascache  snd_attacktaunt2    "monsters/goliath/attack2.wav" 1

server aliascache  snd_pursuit1    "monsters/goliath/purs1.wav" 1
server aliascache  snd_pursuit2    "monsters/goliath/purs2.wav" 1

server aliascache  snd_sightenemy1    "monsters/goliath/site1.wav" 1
server aliascache  snd_sightenemy2    "monsters/goliath/site2.wav" 1

server aliascache  snd_inmysights1    "monsters/goliath/site1.wav" 1
server aliascache  snd_inmysights2    "monsters/goliath/site2.wav" 1

server aliascache  snd_idle1          "monsters/goliath/idle1.wav"  1

server aliascache  snd_investigate1   "monsters/goliath/site1.wav" 1
server aliascache  snd_locate1        "monsters/goliath/site1.wav" 1

//server aliascache  snd_tauntdeath1    "monsters/goliath/taunt1.wav" 1
//server aliascache  snd_tauntdeath2    "monsters/goliath/taunt2.wav" 1
//server aliascache  snd_tauntdeath3    "monsters/goliath/taunt3.wav" 1
//server aliascache  snd_tauntdeath4    "monsters/goliath/taunt4.wav" 1

//server aliascache snd_lostweapon "monsters/goliath/painhnd.wav" 1


//
// CLIENT Initialization Commands
//
// Sound Aliases

client aliascache  snd_attack1   "monsters/goliath/attack1.wav" 1
client aliascache  snd_attack2   "monsters/goliath/attack2.wav" 1
client aliascache  snd_attack3   "monsters/goliath/attack3.wav" 1

client aliascache  snd_pain1     "monsters/goliath/pain1.wav" 1
client aliascache  snd_pain2     "monsters/goliath/pain2.wav" 1
client aliascache  snd_pain3     "monsters/goliath/pain3.wav" 1
client aliascache  snd_pain4     "monsters/goliath/pain4.wav" 1
client aliascache  snd_pain5     "monsters/goliath/pain5.wav" 1

client aliascache  snd_death1    "monsters/goliath/death1.wav" 1
client aliascache  snd_death2    "monsters/goliath/death2.wav" 1
client aliascache  snd_death3    "monsters/goliath/death4.wav" 1
client aliascache  snd_longdeath1 "monsters/goliath/death3.wav" 1
client aliascache  snd_yell1     "monsters/goliath/yell.wav" 1

client aliascache  snd_whoosh1     "weapons/punch/whsh1.wav" 1
client aliascache  snd_whoosh2     "weapons/punch/whsh2.wav" 1
client aliascache  snd_step1      "monsters/goliath/bigfoot.wav" 1
client aliascache  snd_boom1		"impact/explosion/lrg6.wav"

client aliascache  snd_breath1    "monsters/goliath/brth.wav"


//client aliascache  snd_tearpipe1  "monsters/goliath/pipetear1.wav"
//client aliascache  snd_hitpipe1   "monsters/goliath/pipehit.wav"
//client aliascache  snd_rip1       "monsters/goliath/tearhit.wav"

//
// The main section
//
!main:
//

//
//aaa_pipe_calibration first setframe 1
//aaa_pipe_calibration first nextframe 1
//

// Normal Animations
server walk      5 movementsound
server walk      13 movementsound
client walk      5 randomsound snd_step .7
client walk      13 randomsound snd_step .7

server idle 0	setbothhands 0 0 // just to make sure
client idle 0	randomsound snd_breath 0.1 4

server run       7 setbothhands 0 0 // just to make sure
server run       0 movementsound
server run       5 movementsound
client run       0 randomsound snd_step 1
client run       5 randomsound snd_step 1

//server walk_carry      5 movementsound
//server walk_carry      13 movementsound
//client walk_carry      5 randomsound snd_step .7
//client walk_carry      13 randomsound snd_step .7

//server run_carry       0 movementsound
//server run_carry       5 movementsound
//client run_carry       0 randomsound snd_step 1
//client run_carry       5 randomsound snd_step 1

//server turn       3 movementsound
//server turn       7 movementsound
//server turn       9 movementsound
//client turn       3 randomsound snd_step .7
//client turn       7 randomsound snd_step .7
//client turn       9 randomsound snd_step .7

//server smash1       6 movementsound
//client smash1       6 randomsound snd_step .8
//client smash1       17 randomsound snd_boom 1

//server begin       6 movementsound
//client begin       6 randomsound snd_step 1

// Pain Location Based Animations
//server pain first painsound
//client pain first randomsound snd_pain 1 2
server pain_front first painsound
client pain_front first randomsound snd_pain 1 2
server pain1 first painsound
client pain1 first randomsound snd_pain 1 2

server pain_left_arm first painsound
client pain_left_arm first randomsound snd_pain 1 2
server pain_right_arm first painsound
client pain_right_arm first randomsound snd_pain 1 2
server pain_left_leg first painsound
client pain_left_leg first randomsound snd_pain 1 2
server pain_right_leg first painsound
client pain_right_leg first randomsound snd_pain 1 2
client pain_right_leg 2 randomsound snd_boom .6 4
server pain_head first painsound
client pain_head first randomsound snd_pain 1 2
server pain_back first painsound
client pain_back first randomsound snd_pain 1 2
client pain_back 3 randomsound snd_step .7 4
client pain_back 7 randomsound snd_step .7 4
client pain_back 13 randomsound snd_step .7 4
client pain_back 18 randomsound snd_step .7 4


server death1 first deathsound
client death1 first randomsound snd_death 1 2
client death1 21 randomsound snd_boom .6 4
client death1 35 randomsound snd_boom 1 4


server death2 first deathsound
client death2 first randomsound snd_longdeath 1 2
client death2 16 randomsound snd_boom 1 4

server angry       6 movementsound
client angry       6 randomsound snd_yell 1.5 4
client angry       14 randomsound snd_yell 2 2
//client angry       10 randomsound snd_attacktaunt 2.5
//client angry       18 randomsound snd_attacktaunt 0.7

// The sethands commands were added for allowing the goliath's hands
// to do damage and throw the player during attacks.  Thus Goliath has
// much more realistic melee collision detection than the standard 
// sin/quake stuff.

client melee1 0		randomsound snd_attack 1 2
server melee1 2		setrighthand 0.25 -0.5
server melee1 3		setrighthand 0.5 -1
server melee1 3		weaponsound
client melee1 3		randomsound snd_whoosh 1 1
server melee1 7		setrighthand 0.25 -0.5
server melee1 9		setrighthand 0 0
client melee1 9		randomsound snd_step .7 4


server melee2 0		setbothhands 0.1 0
client melee2 0		randomsound snd_attack 1 2
server melee2 2		setbothhands 0.5 0.1
server melee2 4		setbothhands 1 0.2
//client melee2 4		randomsound snd_whoosh 0.4 4
server melee2 4		weaponsound
// Boom has to be 1 frame early because of the wave used
client melee2 4		randomsound snd_boom 1.5 1
server melee2 6		setbothhands 0 0

server melee3 0		setrighthand 0.1 0.1
client melee3 0		randomsound snd_attack 1 2
server melee3 0		movementsound
client melee3 0		randomsound snd_step .7 4
server melee3 1		setrighthand 0 0
server melee3 2		setrighthand 0.5 1
client melee3 2		randomsound snd_step .7 4
server melee3 3		weaponsound
client melee3 3		randomsound snd_whoosh 1 1
server melee3 3		movementsound
server melee3 6		setrighthand 0 0

server melee4 0		setbothhands 0.1 0.1
client melee4 0		randomsound snd_attack 1 2
server melee4 2		movementsound
server melee4 3		setbothhands 0.5 0.1
client melee4 3		randomsound snd_whoosh .7 3
client melee4 4		randomsound snd_step .7 4
// Boom has to be 1 frame early because of the wave used
client melee4 4		randomsound snd_boom 1.5 1
server melee4 5		setbothhands 1 0.2
server melee4 5		movementsound
server melee4 5		weaponsound
server melee4 6		setbothhands 0 0

//server attack_turn_left       4 weaponsound
//client attack_turn_left       4 randomsound snd_whoosh 1
//server attack_turn_left       6 movementsound
//client attack_turn_left       6 randomsound snd_step .7
//server attack_turn_left       12 movementsound
//client attack_turn_left       12 randomsound snd_step .7

// Old attack names, not used any more
//server attack_backhand       8 weaponsound
//client attack_backhand       8 randomsound snd_whoosh 1
//client attack_backhand       13 randomsound snd_step .7

//server attack_clap       6 weaponsound
//client attack_clap       6 randomsound snd_boom 1

//server attack_kick       4 weaponsound
//client attack_kick       4 randomsound snd_whoosh 1

//server attack_punch       6 weaponsound
//client attack_punch       6 randomsound snd_whoosh 1

//server attack_slap       0 movementsound
//client attack_slap       0 randomsound snd_step .7
//server attack_slap       5 weaponsound
//client attack_slap       5 randomsound snd_whoosh 1
//server attack_slap       5 movementsound
//client attack_slap       5 randomsound snd_step .7

//server attack_smash       7 movementsound
//client attack_smash       7 randomsound snd_step .7
//server attack_smash       8 weaponsound
//client attack_smash       8 randomsound snd_boom 1
//server attack_smash       11 movementsound
//client attack_smash       11 randomsound snd_step .7

//server attack_turn_left       4 weaponsound
//client attack_turn_left       4 randomsound snd_whoosh 1
//server attack_turn_left       6 movementsound
//client attack_turn_left       6 randomsound snd_step .7
//server attack_turn_left       12 movementsound
//client attack_turn_left       12 randomsound snd_step .7

// picking up animations

server pickup 5	forwardcommand pickup gun

server pickup_high 4	forwardcommand pickup gun

server pickup_low 4	forwardcommand pickup gun

// throwing animation
server throw 5	forwardcommand throw

// throwing aiming animation
server throw_aim 5	movementsound
server throw_aim 13	movementsound
client throw_aim 5	randomsound snd_step .7
client throw_aim 13	randomsound snd_step .7

// rumble attack
client rumble 0 randomsound snd_attack 1 2
server rumble 6	movementsound
client rumble 6	randomsound snd_step .8 4
client rumble 10 randomsound snd_yell 1 2
client rumble 17	randomsound snd_boom 1
server rumble 18	forwardcommand dorumble

// destroy object animations
server destobj1 0		setbothhands 0.1 0
client destobj1 0		randomsound snd_attack 1 2
server destobj1 2		setbothhands 0.5 0.1
server destobj1 4		setbothhands 1 0.2
//client destobj1 4	randomsound snd_whoosh 0.4 4
server destobj1 4		weaponsound
// Boom has to be 1 frame early because of the wave used
client destobj1 4		randomsound snd_boom 1.5 1
server destobj1 6		setbothhands 0 0

server destobj2 0		setbothhands 0.1 0.1
client destobj2 0		randomsound snd_attack 1 2
server destobj2 2		movementsound
server destobj2 3		setbothhands 0.5 0.1
client destobj2 3		randomsound snd_whoosh .7 3
client destobj2 4		randomsound snd_step .7 4
// Boom has to be 1 frame early because of the wave used
client destobj2 4		randomsound snd_boom 1.5 1
server destobj2 5		setbothhands 1 0.2
server destobj2 5		movementsound
server destobj2 5		weaponsound
server destobj2 6		setbothhands 0 0

